The basic timing requirements for operation of a high-speed printer controlled by a permutation code data input signal, such as the conventional seven and one-half unit Baudot code or the American Standard Code for Information Interchange (ASCII), are established by the received signal. In a dot matrix printer, particularly the kind in which each character is reproduced in a series of individual columns of dots imprinted sequentially, timing of the printer operations is quite critical. Each code word, as received, must be translated into a form usable in control of the printer, and the translated information must be presented to the printer with precise timing and at a speed sufficient to permit multiple functions of the printer mechanism before a new code word is received. Conventional timing controls have not been notably efficient, as applied to high-speed column-sequential dot matrix printers, leading to continuing difficulties in maintaining accurate character reproduction.
These timing difficulties are accentuated in connection with non-print functions of the printer, particularly the carriage return and line feed operations. Immediate recognition of a non-print function is essential to accurate operation of the printer; if the printer begins to step through a character-reproduction cycle in response to a non-print function code word, an error of substantial magnitude can result. Overprinting, distorted characters, erroneous characters and other errors can easily result from any discrepancies in timing or in code recognition.
In a printer operated at moderate speeds, of the order of five to ten characters per second, carriage return and line feed operations can be accommodated by storing code words received during the time intervals required for these operations. To avoid loss of characters or other data, the printing speed is increased somewhat, over the receiving rate, to assure complete reproduction of all incoming information. This usually results in some "dead" time in each character-printing cycle whenever the storage register has been cleared, which presents no particular operational problems at low or moderate speeds.
If the printer speed is increased, however, to a range of fifteen to thirty characters per second, a number of problems are encountered. At these higher speeds, one or more characters may be lost during a carriage return or line feed operation if the printer does not print rapidly enough to empty the storage register in time to accept further input data. This problem can sometimes be alleviated by increasing the input storage capacity. Another and more difficult problem, however, is presented by the fact that it becomes necessary to print each character faster than received. As a consequence, whenever the input store is cleared the printer operates with a carriage motion that prints one character, waits for the next character, prints the next character, and so on. The resulting dead time in each character printing cycle produces a start-stop motion which is intolerable at high printing speeds because the natural resonance of the carriage and associated components is approached, causing severe vibration and bouncing of the carriage. The overall result is often an unacceptable degradation in the quality of the printed copy.